module ApplicationHelper
  def gravatar_url(email, size = 40)
    gravatar_id = Digest::MD5.hexdigest(email.downcase.strip)
    "http://gravatar.com/avatar/#{gravatar_id}.png?s=#{size}&d=mm"
  end

  def nguoi_dung_hien_tai
    nguoi_dung = nil
    if session[:nguoi_dung_id].present?
      # found in session
      nguoi_dung = NguoiDung.find(session[:nguoi_dung_id])
    else
      if cookies[:nguoi_dung_id].present?
        nguoi_dung = NguoiDung.find(cookies[:nguoi_dung_id])
        if nguoi_dung.present?
          session[:nguoi_dung_id] = nguoi_dung.id
        end
      end
    end
    return nguoi_dung
  end

  def is_khach
    return nguoi_dung_hien_tai().nil?
  end

  def gio_hang_hien_tai
    if is_khach
      redirect_to dang_nhap_path
    return
    end
    if session[:gio_hang_id].present?
      # lấy giỏ hàng hiện tại
      gio_hang = GioHang.find(session[:gio_hang_id])
      if gio_hang.present? && gio_hang.nguoi_dung.id == session[:nguoi_dung_id]
      return gio_hang
      end
    end
    #tạo giỏ hàng mới
    gio_hang = GioHang.create({
      :nguoi_dung => nguoi_dung_hien_tai,
    })
    session[:gio_hang_id] = gio_hang.id
    return gio_hang
  end

  def redirect_url(url = nil)
    if url.nil?
      return session[:redirect_to].present? ? session[:redirect_to] : root_url
    else
      session[:redirect_to] = url
    return url
    end
  end
end
